namespace CRM.DataAccess.Entities
{
    using System;
    using System.Collections.Generic;
    using System.ComponentModel.DataAnnotations;
    using System.ComponentModel.DataAnnotations.Schema;
    using System.Data.Entity.Spatial;

    public partial class PRODUCT_DETAIL
    {
        [Key]
        [Column(Order = 0)]
        [DatabaseGenerated(DatabaseGeneratedOption.None)]
        public long ID { get; set; }

        [StringLength(250)]
        public string PRODUCT_NAME { get; set; }

        [StringLength(1000)]
        public string DESCRIPTION { get; set; }

        public bool? PRODUCT_ACTIVE { get; set; }

        [StringLength(50)]
        public string PART_NUMBER { get; set; }

        public DateTime? SALES_START_DATE { get; set; }

        [StringLength(500)]
        public string MANUFACTURER_NAME { get; set; }

        [StringLength(50)]
        public string USAGE_UNIT_NAME { get; set; }

        [StringLength(250)]
        public string PRODUCT_CATEGORY { get; set; }

        public DateTime? SUPPORT_START_DATE { get; set; }

        public DateTime? SALES_END_DATE { get; set; }

        public DateTime? SUPPORT_EXPIRY_DATE { get; set; }

        [StringLength(250)]
        public string WEBSITE { get; set; }

        [StringLength(50)]
        public string SERIAL_NO { get; set; }

        [Key]
        [Column(Order = 1)]
        public double UNIT_PRICE { get; set; }

        [Key]
        [Column(Order = 2)]
        public double DISCOUNT_PRICE { get; set; }

        [Key]
        [Column(Order = 3)]
        public double COMMISSION_RATE { get; set; }

        [Key]
        [Column(Order = 4)]
        public double GST_PERCENT { get; set; }

        [Key]
        [Column(Order = 5)]
        public double SALES_PERCENT { get; set; }

        [Key]
        [Column(Order = 6)]
        public double SERVICE_PERCENT { get; set; }

        [Key]
        [Column(Order = 7)]
        public double QTY_OUT_STOCK { get; set; }

        [Key]
        [Column(Order = 8)]
        public double QTY_IN_STOCK { get; set; }

        [Key]
        [Column(Order = 9)]
        public double REORDER_LEVEL { get; set; }

        [Key]
        [Column(Order = 10)]
        public double QTY_IN_DEMAND { get; set; }

        public byte[] PICTURE { get; set; }

        [StringLength(301)]
        public string ASSIGN_TO { get; set; }

        public long? ASSIGN_TO_ID { get; set; }

        [Key]
        [Column(Order = 11)]
        public DateTime DATE_ENTERED { get; set; }

        public string IMAGE { get; set; }

        public double? BALANCE { get; set; }
    }
}
